/**
 * @file gtkInfo.h
 * @brief Fichier d'entête du module gtkInfo.
 *
 * @author Rachid Delory, Mamadou Keita, Florian Bernard
 */

#ifndef H_GTKINFO_H
#define H_GTKINFO_H

/* *********************************************************************

                       Librairies de gtkInfo                           

********************************************************************* */

#include <gtk/gtk.h>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wlong-long"
#pragma GCC diagnostic ignored "-pedantic"
#include <webkit/webkit.h>
#pragma GCC diagnostic pop
#include <stdlib.h>
#include "../core/arbre.h"
#include "../core/oeuvre.h"

/* *********************************************************************

                        Définitions de types                           

********************************************************************* */

struct sGtkInfo
{
  GtkWidget *scroll;
  GtkWidget *label;
};

typedef struct sGtkInfo GtkInfo;

/**
 * @fn GtkInfo * creer_GInf() ;
 * @brief Crée un expander et le retourne pour l'afficher. Il doit pouvoir afficher le détails d'un média
 *
 * @return un pointeur sur GtkInfo
 */
GtkInfo * creer_GInf();

/**
 * @fn GtkWidget * getContainer(GtkInfo *info);
 * @brief 
 *
 * @param info
 * @return un pointeur sur GtkWidget
 */
GtkWidget * getContainer(GtkInfo *info);

/**
 * @fn void setInfoRegroupement_GInf(GtkInfo *info, Arbre *arb);
 * @brief 
 *
 * @param [in,out] info
 * @param arb
 * @return 
 */
void setInfoRegroupement_GInf(GtkInfo *info, Arbre *arb);

/**
 * @fn void setInfoOeuvre_GInf(GtkInfo * info, const Oeuvre *oeu);
 * @brief 
 *
 * @param [in,out] info
 * @param oeu
 * @return 
 */
void setInfoOeuvre_GInf(GtkInfo * info, const Oeuvre *oeu);

/**
 * @fn void setInfoVide_GInf(GtkInfo *info);
 * @brief 
 *
 * @param [in,out] info
 * @return 
 */
void setInfoVide_GInf(GtkInfo *info);

/**
 * @fn void setInfoCss_Ginf(GtkInfo *info);
 * @brief rapplique le css au HTML 
 *
 * @param [in,out] info
 * @return 
 */
void setInfoCss_Ginf(GtkInfo *info);

#endif
